The following description is provided to assist the understanding of the reader. None of the information provided or references cited is admitted to be prior art.
Malicious software can be programmed by attackers to disrupt normal computer operations, gather sensitive information, and gain access to private computer systems. Attackers often use such malicious software to manipulate Hypertext Transfer Protocol (HTTP) requests in order to attack a server that is running a network-based application. For example, an attacker may attempt to exploit certain unsafe HTTP methods, or the attacker may format the parameters of a request in an effort to force the server to respond in a manner desired by the attacker. An attacker may also utilize HTTP requests for reconnaissance to gain knowledge of a server or a web application's structure and configuration. Traditionally, operators of servers implement a firewall or other malware security tools to protect their servers.